package dao;

import java.util.List;

import javax.persistence.Query;

import model.MateriaPrima;

public class DaoMateriaPrima extends GenericDao<MateriaPrima> {

	public DaoMateriaPrima() {
		super();
	}
	
	@SuppressWarnings("unchecked")
	public List<MateriaPrima> findMateriaPrimaGroupByUnidade() {
		Query q = getManager().createQuery("SELECT u.nome as nome, count(u) as total  FROM MateriaPrima mp JOIN mp.unidade u GROUP BY u");
		try {
			List<MateriaPrima> resultado = q.getResultList();
			
			return resultado;
		}
		catch (Exception e) {
			return null;
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<MateriaPrima> findMateriaByUnidade(String m) {
		Query q = getManager().createQuery("SELECT p FROM MateriaPrima p WHERE p.unidade.id = (SELECT u.id FROM Unidade u WHERE u.nome = '"+m+"' )");
		try {
			List<MateriaPrima> lista = q.getResultList();
			return lista;
		}
		catch (Exception e) {
			return null;
		}
	}


}
